Defining Lights for Radiosity

Light sources are specified in solidThinking by the use of light source shaders. Radiosity divides the light sources in an environment into two groups:

- primary sources (defined by light source shaders);

- secondary sources (defined by materials).

 

Initially, only the light sources have positive power; all other surfaces have zero radiosity. The light sources provide the initial energy input for the environment and are known as the primary sources.

 

Secondary sources are surfaces that have been illuminated by primary sources and/or by other surfaces. These, due to their unshot radiosity, can now act as additional sources in the environment; thus they 'reflect' light, by re-radiating a portion of the energy incident on them. The behavior of secondary sources depends on the material they are associated with.

 

Once the energy from the primary sources has been shot, all surfaces are treated as both emitters and receivers/reflectors of light energy.

 

In solidThinking primary light sources (i.e., light shader types) supporting radiosity are:

 

Area

Can be used to represent many different light sources in a model; examples include strip lights, neon signs, shaded lamps, or windows with blinds drawn. Groups of area light sources can be used to create a complex single source.

 

Point

Used to represent sources that radiate light equally in all directions, such as a simple light bulb.

 

Spot

Used to represent sources that radiate light in a circular cone, directed along a particular direction, usually with light intensity falling off as we move away from the cone's axis of symmetry.

 

Goniometric

Used to represent sources whose intensity distribution (i.e., how much light is emitted in any one direction) cannot be easily defined via some formula, as is the case with spot and point lights. Goniometric lights rely on being handed a file, which details how much and in which directions light is emitted. The lighting industry produces exactly this sort of data for the luminaires that they manufacture.

 

Sky

Used to represent the contribution of indirect sunlight, i.e., light from the sky itself. Essential for daylight simulation.

 

Distant

A distant light can be used to represent a light that is located far away, such as the sun (all rays of light from such a source will be parallel).

 

The Radiosity module does not support ambient light source, which is therefore ignored during the radiosity simulation.

 

Rather than using the standard "ambient" light source shader, ambient lighting inside the Radiosity module should be controlled by enabling the Ambient option, which evenly distributes all the not-yet-accounted-for energy in the scene over all surfaces.

 

This provides a much better approximation of ambient lighting conditions after only a few iterations of the radiosity solution.

 

Of course, all 'ambient' lighting effects are only approximations to fully realistic indirect lighting. This can be modeled more accurately by running the radiosity simulation over a large number of iterations, so that all the important secondary sources are accounted for.

 

Area light

 

An area light source emits light energy from an area source in a hemisphere of directions. The radiance leaving any point of the source, in any direction within the hemisphere, is constant. Area light sources work only when Radiosity computation is enabled.

 

Default values are:

"unshot" 1.0, 1.0, 1.0

"power units" undefined

"power" 1.0

"color" 1.0 1.0 1.0

"color temperature" 0.0

"min lod" 0.0

"mid lod" 0.0

"max lod" 1.0

"noise factor" 0.0

"shadows" TRUE

"shadow resolution" 256

"shadow quality" 16

 

Area light simulates a glowing object in the scene. Each area light should be associated with an object in the scene, and therefore no positional or other geometric information need be specified explicitly for the source. In fact, as with any other surface, area light sources need to have a material assigned to them, as not only do they emit light themselves, but they may well have to reflect light, from other sources, which is incident upon them. The radiosity processor always automatically recognizes the defined area sources.

 

The "unshot" argument represents the unshot radiosity value, in other words, the amount of light energy, per unit area, which the area source will emit. This is specified per unit area of the source for each of the red, green and blue components. The SI units for radiosity are Watts per square meter.

 

Because the radiosity of an area light source is defined in terms of its area, relatively small alterations to the geometry to which it is attached could lead to large changes in the lighting conditions. It is worth calculating the area of a light source before deciding what radiosity value should be assigned to it.

 

An alternate way to specify power and color of an area source is defining power units ("undefined", "watts", and "lumens") and setting directly power ("power" parameter) in these units. In this case, as we specify the total power, the impact of changing the source geometry will be not so critical.

 

The source color, when using defined power units, is specified by "color temperature" and can be additionally filtered by given "color" parameter. If "color temperature" is not set (equal 0:0), then the "color" is used for color definition.

 

Area light sources are associated with polygonal geometry, which by default is single-sided. This means that an area light source only radiates energy in the direction away from the 'front' of the surface.

 

The parameters "min lod", "max lod" and "noise factor" are effective only during direct rendering (ignored by radiosity). Meanings are:

 

"min lod" - minimal level of detail of area source decomposition. The usual range is [0:0; 1:0] although values greater than 1:0 are allowed. The value 0:0 means minimal level of decomposition. This parameter determines the initial sampling for lighting calculation and visibility analysis. If it is too low, then shadow boundaries will not be reproduced correctly. If it is too high, then rendering times will be excessive. Practical values are between 0:2 and 0:6.

 

"mid lod" - this parameter is similar to "min lod" but it does not cause actual decomposition of the source for lighting calculations; it determines instead minimal level of decomposition for visibility analysis. If should be no smaller than "max lod" and, if it is actually smaller, then is defaulted to "max lod". Controlling the level of decomposition with this parameter makes sense if we use shadow maps, or shading calculations are extremely costly and we want to limit number of actual sample but at the same time we want to perform sufficient shadow analysis.

 

"max lod" - maximal level of adaptive decomposition of source when rendering areas of penumbra. If set to the same value as "min lod", no adaptive decomposition is performed and penumbra areas may exhibit aliasing artifacts. The range is [0:0; 1:0] although values greater than 1:0 are allowed. The practical range is [0:5; 1:0].

 

"noise factor" - specifies level of random disturbances for visibility samples. Value of 0:0 means no noise. Value of 1:0 means maximal noise. The range is strictly [0:0; 1:0]. The noise may be used as cheaper alternative for antialiasing penumbra areas than adaptive refinement (controlled by max lod parameter).

 

"shadows" - switches shadows on or off for this source.

 

"shadow resolution" - resolution of shadow map associated with this source. If set to 0, then ray traced shadows are used. See below.

 

"shadow quality" - quality of shadow map sampling expressed as square of the number of point samples to be taken to approximate shadow for given shaded point.

 

 

See also: